The invention relates generally to digital television receivers and, more particularly, to the methods and apparatus for building and maintaining a database within a digital television receiver.
A new type of broadcast television has recently been introduced to consumers in the United States and other countries. This system is known as digital television (xe2x80x9cDTVxe2x80x9d). Instead of transmitting audio and video information in the form of analog signals as has been done for over 50 years, exciting new programming incorporating a host of new and higher quality features is now being transmitted by local and satellite broadcasters in the form of digital signals. These signals consist of individuals bits of digital data grouped into packets of various types, including audio packets, video packets, and system control data packets.
The system control data packets contained in digital broadcast streams include information concerning the available channels and the programs they contain. In order for a digital television receiver to tune to a specific program and provide the user with relevant information, the receiver must gather and store the transmitted system control data in a database.
In the U.S., the Advanced Television Systems Committee (ATSC) has specified the standard according to which digital television signals must be transmitted. The ATSC standard is in turn based on an international standard popularly known as MPEG-2, hereinafter referred to for convenience as simply xe2x80x9cMPEG.xe2x80x9d
The MPEG standard defines a way to carry basic system control data in a set of tables, the major tables being the Program Association Table (PAT) and the Program Mapping Table (PMT). However, the ATSC standard does not make the use of these tables mandatory.
The ATSC has defined a format called the Program and Specific Information Protocol (PSIP) for the purpose of carrying a more extended set of data in a different set of tables. These tables include the Master Guide Table (MGT), Version Control Table (VCT), Event Information Table (EIT), and others. Use of the PSIP tables is also not mandatory; however, the PSIP standard is the preferred way to transmit system information in an ATSC digital stream. Detailed descriptions of MPEG data and tables is contained in ISO/IEC 13818-1 xe2x80x9cCoding of Moving Pictures and Associated Audio-Part 1: Systems.xe2x80x9d Detailed information regarding PSIP data and tables is contained in the publication ATSC A/65 xe2x80x9cProgram and Specific Information Protocol for Terrestrial Broadcast and Cablexe2x80x9d published by the Advanced Television Systems Committee. The disclosures of both of these documents are hereby expressly incorporated by reference.
In view of the permissive nature of standards in the U.S., digital television signals transmitted by various broadcasters can differ significantly in format. A typical situation would be for both MPEG and PSIP tables to be present in a broadcast digital television signal. In such cases, some pieces of system control information are redundant and may be found in both MPEG and PSIP tables, whereas other pieces may be included in only one set of tables. The database stored and maintained by the digital television receiver must permit merging of system control data derived from both MPEG and PSIP tables. Although the ATSC standard requires data in the MPEG and PSIP tables to be consistent if both are present, this does not always happen with real-world signals actually transmitted by broadcasters. Inconsistency of transmitted system control data can thus give rise to incoherency of the database. Further complicating the task of building and maintaining the database is the fact that every time the structure of a program is modified (change in number of elementary streams, new content rating, etc.), updated tables carrying the corresponding information are transmitted. However, the two sets of updated tables may or may not be received simultaneously.
The procedure for updating tables is completely defined within each standard (MPEG and PSIP). However, merging the data coming from two xe2x80x9cindependentxe2x80x9d sets of tables can cause problems. For example, during a transition period, it is likely that one set of tables will still be carrying the old information while the other set is already updated with the new information, that is, the new information is not consistent with the old information. Once again, this raises the possibility of incoherent database content due to a mismatch between the MPEG and PSIP tables. It is therefore desirable to provide methods and apparatus for efficiently storing and maintaining a database in a digital television receiver that insures integrity and coherence of the database during merging and updating operations.
A method consistent with the present invention maintains a database for display of digital television broadcast signals carried by a digital broadcast stream including content data and system control data. The system control data includes first information relating to a first broadcast standard and optionally also includes second information relating to a second broadcast standard. The method comprises receiving the digital broadcast stream, extracting the first information from the system control data, storing a first set of data entries from the extracted first information, extracting second information from the system control data if second information is present in the system control data, and storing a second set of data entries only if the extracted second information is consistent with previously stored first set of data entries.
A system consistent with the present invention maintains a database for display of digital television broadcast signals carried by a digital broadcast stream including content data and system control data. The system control data includes first information relating to a first broadcast standard and optionally also includes second information relating to a second broadcast standard. The system comprises a tuner which receives the digital broadcast stream and a demultiplexer which extracts the first information from the system control data. The system also comprises a control module which stores a first set of data entries from the extracted first information, extracts second information from the system control data if second information is present in the system control data, and stores a second set of data entries only if the extracted second information is consistent with previously stored first set of data entries.